package me.firstapp.spi.bbs;

import me.firstapp.common.json.PageObject;
import me.firstapp.common.json.SingleObject;
import me.firstapp.common.module.bbs.JsonBbsNotification;
import me.firstapp.common.module.bbs.JsonShopNotification;
import me.firstapp.common.module.bbs.JsonSysNotification;
import me.firstapp.common.utils.NotificationJson;

public interface NotificationService {

	/**
	 * 调用查询未读通知数量接口
	 * 
	 * @param memberId
	 * @return
	 */
	SingleObject<NotificationJson> findMemberUnReadNotificationCounts(Long memberId);

	/**
	 * 调用分页查询社区通知接口
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param memberId
	 * @param isRead
	 * @return
	 */
	PageObject<JsonBbsNotification> findMemberBbsNotificationPage(Integer pageNo, Integer pageSize, Long memberId,
			Integer isRead);

	/**
	 * 调用分页查询系统通知接口
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param memberId
	 * @param isRead
	 * @return
	 */
	PageObject<JsonSysNotification> findMemberSysNotificationPage(Integer pageNo, Integer pageSize, Long memberId,
			Integer isRead);

	/**
	 * 调用分页查询商店通知接口
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @param memberId
	 * @param isRead
	 * @return
	 */
	PageObject<JsonShopNotification> findMemberShopNotificationPage(Integer pageNo, Integer pageSize, Long memberId,
			Integer isRead);

	/**
	 * 调用阅读通知接口
	 * 
	 * @param memberId
	 * @param type
	 * @return
	 */
	SingleObject<Object> setNotificationReaded(Long memberId, String type);

}
